package io.renren.modules.app.service.user;

import com.baomidou.mybatisplus.extension.service.IService;
import io.renren.common.utils.PageUtils;
import io.renren.modules.app.entity.company.YcCollectCompany;
import io.renren.modules.app.entity.info.CompanyRecuit;
import io.renren.modules.app.entity.info.YcUserInterview;
import io.renren.modules.app.entity.info.YcUserPost;
import io.renren.modules.app.entity.user.UserResumeEntity;

import java.util.List;
import java.util.Map;

/**
 *
 * @author lym
 * @email 928185446qq.com
 * @date 2023-12-19 10:49:13
 */
public interface UserResumeService extends IService<UserResumeEntity> {

    PageUtils queryPage(Map<String, Object> params);

    UserResumeEntity selectByUserId(Integer userId);

    UserResumeEntity selectOneByUserId(Integer userId);


    List<UserResumeEntity> selectListByUserId(Integer userId);

    boolean doDeliverVita(Integer userId, Integer recruitId);

    boolean checkDeliverVita(Integer userId, Integer recruitId);

    List<YcUserPost> selectUserPostByUserId(Integer userId);

    List<YcUserPost> selectCompanyPostById(Integer companyId);

    boolean updateCompanyPostStatus(Integer postId);

    boolean saveCollectCompany(YcCollectCompany company);

    boolean deleteCollectCompany(Integer companyId, Integer resumeId);

    List<YcCollectCompany> queryCollectCompany(Integer companyId, Integer resumeId);

    List<YcCollectCompany> queryCollectCompanyByCompanyId(Integer companyId);

    boolean exitsCollectCompany(Integer companyId, Integer resumeId);

    List<YcCollectCompany> selectCompanyCollectList(Integer companyId);

    List<CompanyRecuit> selectCompanyRecuitList(Integer companyId);

    boolean saveUserInterview(YcUserInterview userInterview);

    List<YcUserInterview> selectCompanyInterList(Integer companyId, Integer resumeId, Integer recrutId);

    List<YcUserInterview> selectCompanyInterList(Integer companyId, String status);

    List<YcUserInterview> selectUserInterList(Integer userId, String status);

    boolean updateInterStatus(Integer id, String status);

    Integer getConsumePoints();

    boolean saveSpreadRecord(Integer companyId);
    boolean checkSpreadStatus (Integer companyId);

    /**
     * 更新推广状态：status：1开启，2关闭
     */
    boolean updateStatusSpreadRecord(Integer companyId, Integer status);

    boolean exitsSpreadRecord(Integer companyId);
}

